"use client"; import { useMemoriesApi } from "@/hooks/useMemoriesApi"; import { MemoryActions } from "./MemoryActions"; import { ArrowLeft, Copy, Check } from "lucide-react"; import { Button } from "@/components/ui/button"; import { useRouter } from "next/navigation"; import { AccessLog } from "./AccessLog"; import Image from "next/image"; import Categories from "@/components/shared/categories"; import { useEffect, useState } from "react"; import { useSelector } from "react-redux"; import { RootState } from "@/store/store"; import { constants } from "@/components/shared/source-app"; import { RelatedMemories } from "./RelatedMemories"; interface MemoryDetailsProps { memory_id: string; } export function MemoryDetails({ memory_id }: MemoryDetailsProps) { const router = useRouter(); const { fetchMemoryById, hasUpdates } = useMemoriesApi(); const memory = useSelector( (state: RootState) => state.memories.selectedMemory ); const [copied, setCopied] = useState(false); const handleCopy = async () => { if (memory?.id) { await navigator.clipboard.writeText(memory.id); setCopied(true); setTimeout(() => setCopied(false), 2000); } }; useEffect(() => { fetchMemoryById(memory_id); }, []); return (
{memory?.text}
{ constants[ memory?.app_name as keyof typeof constants ]?.name }
{new Date(memory.created_at).toLocaleString()}